home *** CD-ROM | disk | FTP | other *** search
/ Garbo / Garbo.cdr / mac / progrmng / mlpmodul.sit / MacLogimoPlus Documentation / DEF3 Files / EventMgr.DEF < prev    next >
Encoding:
Modula Definition  |  1990-06-14  |  3.7 KB  |  76 lines  |  [TEXT/PMED]

  1. DEFINITION MODULE EventMgr;     (* Franz Kronseder 08.01.85 *)
  2.                                 (* MacIntosh ToolBox Event Manager Operations *)
  3.                                 (* last modified   09.06.85 fxk *)
  4.  
  5. IMPORT MacBase; FROM MacBase IMPORT Point,LongInt; 
  6.  
  7. EXPORT QUALIFIED
  8.  everyEvent,nullEvent,mouseDown,mouseUp,keyDown,keyUp,autoKey,updateEvt,
  9.  diskEvt,activateEvt,abortEvt,reserveEvt,driverEvt,
  10.  app1Evt,app2Evt,app3Evt,app4Evt,
  11.  nullMask,mDownMask,mUpMask,keyDownMask,keyUpMask,autoKeyMask,updateMask,
  12.  diskMask, activMask,abortMask,reserveMask,driverMask,
  13.  app1Mask,app2Mask,app3Mask,app4Mask,
  14.  optionKey,alphaLock,ShiftKey,CmdKey,BtnState,activeFlag,changeFlag,
  15.  EventRecord,KeyMap,
  16.  EventAvail,GetNextEvent,StillDown,WaitMouseUp,GetMouse,TickCount,Button,
  17.  GetKeys, PostEvent,FlushEvents,SetEventMask,OSEventAvail,GetOSEvent;
  18.  
  19. CONST
  20.   everyEvent  = -1;
  21.   nullEvent   = 0;  mouseDown   = 1;  mouseUp     = 2;  keyDown     = 3;
  22.   keyUp       = 4;  autoKey     = 5;  updateEvt   = 6;  diskEvt     = 7;
  23.   activateEvt = 8;  abortEvt    = 9;  reserveEvt  = 10; driverEvt   = 11;
  24.   app1Evt     = 12; app2Evt     = 13; app3Evt     = 14; app4Evt     = 15;
  25.  
  26.   nullMask  =   1; mDownMask   =   2; mUpMask     =    4; keyDownMask   =    8;
  27.   keyUpMask =  16; autoKeyMask =  32; updateMask  =   64; diskMask      =  128;
  28.   activMask = 256; abortMask   = 512; reserveMask = 1024; driverMask    = 2048;
  29.   app1Mask  =4096; app2Mask    =8192; app3Mask    =16384; app4Mask      =8000H; (* -32768 *)
  30.  
  31.  
  32.   (* modifiers !!! here Bitnumbers in BITSET !!! *)
  33.   optionKey = 11;    (*2048, Bit 3 of high byte  *)
  34.   alphaLock = 10;    (*1024, Bit 2  *)
  35.   ShiftKey  =  9;    (* 512, Bit 1  *)
  36.   CmdKey    =  8;    (* 256, Bit 0  *)
  37.   BtnState  =  7;    (* 128, Bit 7 of low byte is mouse button state  *)
  38.   activeFlag=  0;    (*   1, bit 0 of modifiers for activate event  *)
  39.   changeFlag=  1;    (*   2, bit 1 of modifiers for activate event  *)
  40.  
  41.  TYPE  OsErr=MacBase.OsErr;      (* = INTEGER;*)
  42.        KeyMap      = ARRAY[0..3] OF LongInt;(* PACKED ARRAY [1..128] OF BOOLEAN *)
  43.  
  44.   EventRecord = RECORD
  45.                   what:      INTEGER;
  46.                   CASE BOOLEAN  OF
  47.                     TRUE : message: LongInt;
  48.                   | FALSE: msgchar: ARRAY [0..3] OF CHAR;
  49.                   END;
  50.                   when:      LongInt;
  51.                   where:     Point;
  52.                   CASE BOOLEAN OF
  53.                     TRUE : modifiers: BITSET;
  54.                   | FALSE: modifwrd : CARDINAL; (* modifier word *)
  55.                   END;
  56.                 END;  (* record *)
  57.  
  58. PROCEDURE EventAvail  (mask:INTEGER; VAR theEvent: EventRecord): BOOLEAN;(* INLINE $A971 *)
  59. PROCEDURE GetNextEvent(mask:INTEGER; VAR theEvent: EventRecord): BOOLEAN;(* INLINE $A970 *)
  60. PROCEDURE StillDown   ():BOOLEAN;                                        (* INLINE $A973 *)
  61. PROCEDURE WaitMouseUp ():BOOLEAN;                                        (* INLINE $A977 *)
  62. PROCEDURE GetMouse    (VAR pt: Point);                                   (* INLINE $A972 *)
  63. PROCEDURE TickCount   ():LongInt;                                        (* INLINE $A975 *)
  64. PROCEDURE Button      ():BOOLEAN;                                        (* INLINE $A974 *)
  65. PROCEDURE GetKeys     (VAR k: KeyMap);                                   (* INLINE $A976 *)
  66.  
  67. PROCEDURE PostEvent   (eventNum: INTEGER; eventMsg: LongInt): OsErr;
  68. PROCEDURE FlushEvents (whichMask,stopMask: INTEGER);
  69. (************** These Routines are not yet implemented *******************)
  70. PROCEDURE SetEventMask(theMask: INTEGER);
  71. PROCEDURE OSEventAvail(mask: INTEGER; VAR theEvent: EventRecord): BOOLEAN;
  72. PROCEDURE GetOSEvent  (mask: INTEGER; VAR theEvent: EventRecord): BOOLEAN;
  73. (*************************************************************************)
  74.  
  75. END EventMgr.
  76.